
function RegrasStiff() {}


RegrasStiff.prototype.calculaHorasTrabalhadas= function(horasPorDataObj) {
	return _.reduce(horasPorDataObj , function(acumulador, horas, data) {
		var horasDia = this.calculaHorasTrabalhadasDia(data, horas);
		return acumulador.plus(horasDia);
	}, new EPPTime(), this);
};

RegrasStiff.prototype.calculaHorasTrabalhadasDia = function(data, horas) {
	var ehHoje = EPPDate.ehHoje(data);
    return EPPTime.calculaHorasTrabalhadas(horas, ehHoje);
};


/*




        var horasTrabalhadasPorDia = {};
        entradas.forEach(function(entrada) {
            if(horasTrabalhadasPorDia[entrada.data]) {
                horasTrabalhadasPorDia[entrada.data] = horasTrabalhadasPorDia[entrada.data].plus(entrada.horasTrabalhadas);
            } else {
                horasTrabalhadasPorDia[entrada.data] = entrada.horasTrabalhadas;
            }
        });

        var totalHorasTrabalhadas = new EPPTime();
        var diaPadrao = new EPPTime(8,0);
        for(var dia in horasTrabalhadasPorDia) {
            var ht = horasTrabalhadasPorDia[dia];
            if(ht.inMinutes() > 0) {
                totalHorasTrabalhadas = totalHorasTrabalhadas.plus(ht).minus(diaPadrao);
            }
         }
*/